Some communication systems allow the user of a device, such as a personal computer, to communicate across a packet-based computer network such as the Internet. Such communication systems include voice over internet protocol (“VoIP”) systems. These systems are beneficial to the user as they are often of significantly lower cost than conventional fixed line or mobile networks. This may particularly be the case for long-distance communication. To use a VoIP system, the user installs and executes client software on their device. The client software sets up the VoIP connections as well as providing other functions such as registration and authentication. In addition to voice communication, the client may also set up connections for other communication media such as video calling, instant messaging (“IM”), SMS messaging, file transfer and voicemail.
One type of communication system for packet-based communication uses a peer-to-peer (“P2P”) topology. To enable access to a peer-to-peer system, a user must execute P2P client software provided by a P2P software provider on their computer, and register with the P2P system. When the user registers with the P2P system, the client software is provided with a digital certificate from a server. Once the client software has been provided with the certificate, then calls or other communication connections can subsequently be set up and routed between users of the P2P system without the further use of a server in the set-up. Instead, the client looks up the required IP addresses from information distributed amongst the P2P client software on other end users' computers within the P2P system. That is, the address look-up list is distributed amongst the peers themselves. Once the IP address of a callee's terminal has thus been determined, the caller's P2P client software then exchanges certificates with the callee's P2P client software. The exchange of the digital certificates (or user identity certificates, “UIC”) between users provides proof of the users' identities and that they are suitably authorised and authenticated in the P2P system. Therefore, the presentation of digital certificates provides trust in the identity of the users.
It is therefore a characteristic of peer-to-peer communication that, once registered, the users can set up their own communication routes through the P2P system in an at least partially decentralized manner based on distributed address look-up and/or the exchange of one or more digital authentication certificates, without using a server for those purposes. Further details of an example P2P system are disclosed in WO 2005/009019.
VoIP or other packet-based communications can also be implemented using non-P2P systems that do use centralized call set-up and/or authentication, e.g. via a server.
In addition to the primary user content—e.g. the voice or video call, IM chat messages or file transfer, etc.—various other data may need to be communicated throughout the P2P or other communication system. For instance, a client may up- or download contact lists and/or “avatar” images to or from a server (avatar images are images chosen by the users to represent themselves graphically to others of the communication system). Further, the client itself may need to autonomously communicate status information with another client. One example of this occurs when clients need to share presence information. Presence is an availability status of the user in question, preferably defined in part by that user themselves. For example, presence status may indicate that the user is offline, that the user is online and available, or that the user is online but has selected to be shown as unavailable (“do not disturb”).